草庐IT

JavaScript window.opener 调用父函数

全部标签

javascript - 检查 JavaScript 函数是否在不执行的情况下返回?

我有一个给定的函数,除其他参数外,它还有两个可选参数,它们可能是函数。两者都必须是可选的,一个是函数,一个是bool值或返回bool值的函数。//Obj.func(variable,String[,Object][,Boolean||Function][,Function]);Obj.func=function(other,assorted,args,BoolOrFunc,SecondFunc){//execution};Obj.func(['some','data'],'ofvaryingtypes',{and:'someoptionalarguments'},function(){

javascript - 在 debounce 函数中使用 requestAnimationFrame 是个好主意吗?

这是对我对requestAnimationFrame理解的检查。我需要debounce功能,因为每次调整窗口大小时我都在做一些DOM交互,我不想让浏览器过载。典型的去抖动函数每个时间间隔只会调用一次传递的函数;间隔通常是第二个参数。我假设对于很多UI工作,最佳间隔是不会使浏览器过载的最短时间量。在我看来,这正是requestAnimationFrame会做的事情:vardebounce=function(func,execAsap){vartimeout;returnfunctiondebounced(){varobj=this,args=arguments;functiondelay

javascript - zombie 浏览器在调用打开函数后不会打开窗口

工具尝试1Darwin14.3.0Darwin内核版本14.3.0io.jsv1.8.1zombie版本4.0.72015-04-10尝试2LinuxubuntuG53.13.0-48-powerpc64-smpnode.jsv0.10.38zombie版本3.1.02015-03-15命令:constBrowser=require('zombie');varurl='https://google.com'varbrowser=newBrowser();browser.open(url=url)browser.open('http://google.com',function(err)

javascript - 关于 JSLint,它对 for 循环的厌恶,以及尾调用优化

我注意到新版本的JSLint不喜欢某些形式的for循环。我发现这很奇怪,并开始寻找一些解释。在JsLint的helppage下,你可以找到这个:ThemostimportantnewfeatureofES6ispropertailcalls.Thishasnonewsyntax,sojsLintdoesn'tseeit.Butitmakesrecursionmuchmoreattractive,whichmakesloops,particularlyforloops,muchlessattractive.还有这个:jsLintdoesnotrecommenduseoftheforsta

javascript - 断言 sinon 中的递归调用次数

我有以下通过promise递归运行的队列消费者类:"usestrict";varqueue=require("./queue"),helpers=require("./helpers"),vendors=require("../config/vendors"),queueConf=require("../config/queue");functionConsumer(){this.queue=newqueue.TaskQueue();this.currentItem=null;this.port=null;this.payload=null;}Consumer.prototype.pa

javascript - Jquery 函数在 safari 中触发但在 chrome 中不触发

我有一个功能,当使用document.ready()加载页面时,我可以将页面滚动到顶部。但是在Chrome中,此功能仅在我在页面上并刷新它时运行。如果我通过在地址栏中键入链接来访问该页面,则该函数不会运行。如果我从另一个页面的链接访问该页面,它也不会运行。它在Chrome中100%运行时间的唯一方法是,如果我在页面上并刷新它。但是,在Safari中,通过从链接访问页面、在地址栏中键入链接、重新加载时,该函数每次都会100%运行。这是我的代码:jQuery(document).ready(function($){if(location.hash){//dotheteststraighta

javascript - QML - 将 JS 函数的代码作为字符串获取

似乎可以在JavaScript中获取函数的代码,而且非常简单:functionfoo(){...}foo.toString()但是,在QML中这样做给我带来了一个相当乏味的function(){[code]}那么有没有办法也得到[code]部分呢?我也试过JSON.stringify()但没有任何效果。 最佳答案 我想总结一下评论中的讨论,因为这可以作为future搜索的一个很好的回应。如评论中所述,它看起来是QML的一个明显错误。Here他们声称:theQMLruntimeimplementstheECMAScriptLangua

javascript - 带有在存储中管理的参数的 Flux 调用操作

假设我有一个操作someAction(params)接受params,它在商店paramsStore中管理:paramsStore.listen(function(params){someAction(params)})似乎我不能只在我看来调用它,因为这显然违背了Flux的做事方式(不应在商店监听器中调用操作)。我在商店监听器中有someAction的原因是因为我希望每次修改paramsStore时都调用它。如果不求助于商店监听器中调用操作的“非模式”,我如何才能实现这一目标? 最佳答案 正确的“通量方式”是在信息发送到params

javascript - 为什么这个函数返回 NaN?

乍一看,这似乎与许多其他关于JavaScript中的NaN的问题类似,但我向你保证并非如此。我有这段代码可以转换从文本框中获取的值,并在单击表单中的按钮后将其转换为日期:vardateString=$('#itemAcquiredTxt').val();//Wouldhaveavalueof'2013-12-15'vardateAcquired=newDate(dateString);//InvalidDate?文本框itemAcquiredTxt的值将从数据库调用中获取“2013-12-15”(YYYY-MM-DD格式):$('#itemAcquiredTxt').val(newDa

javascript - 是什么决定了使用 promises 或 setTimeout 的延迟函数的调用顺序?

延迟函数的执行,例如在自定义事件处理中,是JavaScript中的一种常见模式(参见,例如here)。过去使用setTimeout(myFunc,0)是唯一的方法,但是有了promises现在有一个替代方法:Promise.resolve().then(myFunc)。我原以为它们几乎可以做同样的事情,但是在处理包含自定义事件的库时,我想我会发现是否存在差异,所以我将以下block放入Node中:varlogfn=function(v){returnfunction(){console.log(v)}};setTimeout(logfn(1),0);Promise.resolve().